/**
 * \file CPrintFrm.h
 * \author Corentin Le Bail
 * \date 2009-2012
 * \brief Fichier de déclaration de la class CPrintFrm
 */
//------------------------------------------------------------------------------
#ifndef __CPRINTFRM_H__
#define __CPRINTFRM_H__
//------------------------------------------------------------------------------
#include <QDialog>
#include "ui_CPrintFrm.h"
#include "CPrintPreviewFrm.h"
#include "CRequest.h"
//------------------------------------------------------------------------------
/**
 * \class CPrintFrm CPrintFrm.h "CPrintFrm.h"
 * \brief Classe de la fenêtre d'impression.
 */
class CPrintFrm : public QDialog, private Ui::PrintFrm
{
	Q_OBJECT
	public:
		/**
		 * \fn static CPrintFrm *getInstance(void)
		 * \return L'instance de l'objet
		 */
		static CPrintFrm *getInstance(void);
		/**
		 * \fn void print(CRequest *request, QWidget *parent=0)
		 * \brief Imprime le document corespondant à request
		 * \param[in] request Référence de l'objet request
		 * \param[in] parent Référence vers un objet parent
		 */
		void print(CRequest *request, QWidget *parent=0);
		/**
		 * \fn void print(CRequest *request, CPrintPreviewFrm::EPrintType printType, QWidget *parent=0)
		 * \brief Imprime le document docName provenant de l'url url vers printType \ref CPrintPreviewFrm::EPrintType
		 * \param[in] request Référence de l'objet request
		 * \param[in] printType Destination de l'impression
		 * \param[in] parent Référence vers un objet parent
		 */
		void print(CRequest *request, CPrintPreviewFrm::EPrintType printType, QWidget *parent=0);
	private:
		static CPrintFrm * instance;
		
		CPrintFrm(void);
};
//------------------------------------------------------------------------------
#endif //__CPRINTFRM_H__
//------------------------------------------------------------------------------

